# iOS Signing
Automatically manage signing

手動
首先, 記錄一下在 https://developer.apple.com/ 以下項目剛開始的模樣
- Certificates
- Identifiers
- Devices
- Profiles



# Automatically manage signing
創建一個新的Project, 記錄一下Bundle Identifier
點擊 Automatically manage signing
選擇 Apple developer 帳號

在 https://developer.apple.com/ 上可以見到Xcode幫我生成了兩個文件
分別是 1張Certificates (Development)和1張Identifiers (Provisioning Profile)
Certificates還沒有Distribution, 下面再説

Xcode 會自動生成 Debug 和 Release 的 Provisioning Profile 
可以在
/Users/wingch/Library/MobileDevice/Provisioning Profiles找到


Xcode會自動生成一張Bundle Identifier為*的Provisioning, 並將我Apple id已注册的Devices一併加入
# Distribution
Certificates 一共有兩張 Development 和 Distribution
上述Xcode只生成了Certificates (Development),當我們要發佈Apps時就需要Distribution


這次選Ad Hoc做例子

over-the-air 日後再研究...
因為我們沒有Certificates(Distribution), 所以按Automatically manage signing 看看有什麼效果
成功生成!

可以在https://developer.apple.com/ 看到多了一張Distribution

/Users/wingch/Library/MobileDevice/Provisioning Profiles/17fa3c2a-82c8-400b-ba2e-d09f42d93398.mobileprovision

Export ipa 檔案


下一步可以自行製作plist (opens new window)或 上傳到蒲公英 (opens new window) 等方法下載apps到手機 (只有provision內有的devices才可以安裝)
# 手動
參考: iOS之从创建(Development、Distribution)证书到发布 (opens new window)
創建一個新的Project, 記錄一下Bundle Identifier
Bundle Identifier: try.winch.try-winch-iOS-Signing2

- Identifiers: 註冊Bundle Identifier
- 申請Certificates
DevelopmentDistribution(用於允許在Mac上簽名) - 申请Development描述文件
# 1. Identifiers: 註冊Bundle Identifier

Description 隨便填, Bundle ID填剛剛開的Project try.winch.try-winch-iOS-Signing2

可以看到新增了一項

# 2. 申請Certificates Development Distribution (用於允許在Mac上簽名)

生成以下檔案CertificateSigningRequest.certSigningRequest 

使用剛剛生成的CertificateSigningRequest.certSigningRequest
成功生成development.cer, 現在還差Distribution, 再做多次上三張圖的步驟
最終效果, 雙點擊 development.cer 和 distribution.cer加入鑰匙圈 

可以輸出p12, 我理論類似是加密了的zip 用於分享給其他人
# 3. 申请Development描述文件


選擇Project的Bundle Id

選擇Development證書

選擇可以測試的設備



到Distribution, 今次嘗試Ad Hoc

最終效果

接下來是在Xcode使用
Debug使用learning__development.mobileprovision 
Release使用learning_distribution.mobileprovision

發怖方面與
Automatically manage signing一樣



